package com.demo.youxuanmall.service;

import com.demo.youxuanmall.common.Result;

import java.util.List;
import java.util.Map;

/**
 * 统计服务接口
 */
public interface StatisticsService {
    
    /**
     * 获取概览统计数据
     * @return 包含用户、商品、订单和销售额的统计数据
     */
    Result<Map<String, Object>> getOverviewStats();
    
    /**
     * 获取销售趋势数据
     * @param days 统计的天数
     * @return 每日销售额和订单数的统计数据
     */
    Result<Map<String, Object>> getSalesTrend(Integer days);
    
    /**
     * 获取订单状态分布
     * @return 不同状态订单的数量
     */
    Result<Map<String, Integer>> getOrderStatusDistribution();
    
    /**
     * 获取分类销售占比
     * @return 各分类的销售额和占比
     */
    Result<List<Map<String, Object>>> getCategorySalesPercentage();
    
    /**
     * 获取热门商品
     * @param limit 数量限制
     * @return 热门商品列表
     */
    Result<List<Map<String, Object>>> getHotProducts(Integer limit);
    
    /**
     * 获取用户增长数据
     * @param days 统计的天数
     * @return 每日新增用户数
     */
    Result<Map<String, Object>> getUserGrowth(Integer days);
} 